<?php
include_once DIR_DEFS.'database.php';

class DbWaarderenVanLeren extends Database {
    
    private $waarderen_van_leren_a;
    private $waarderen_van_leren_b;
    private $waarderen_van_leren_c;
    private $waarderen_van_leren_d;
    private $waarderen_van_leren_e;
    
    public function __construct() {
        parent::__construct();
    }

    public function DbVermogen($id='') {
        parent::Database();
        
        if ( !$this->dbTableExists(TBL_VERMOGEN)){
            if (!$this->createTable(TBL_VERMOGEN)){
                trigger_error(TXT_ERROR_CANT_CREATE_TABLE. TBL_VERMOGEN, E_USER_ERROR);
            } 
            
        }else if ( (strlen($id) > 0 ) && $this->dbCheckId ($id, FIELD_VERMOGEN_ID) ){
            $this->selectById($id);
        }
        
        
    }
    
    public function checkPrestatieNameLen($value){
        if (trim($value) > LEN_HANDELINGEN){
            return "Too long.";
        } else {
            return TRUE;
        }
    }

    public function save(   $waarderen_van_leren_a, 
                            $waarderen_van_leren_b,
                            $waarderen_van_leren_c,
                            $waarderen_van_leren_d,
                            $waarderen_van_leren_e){


/**
 * @todo
 * Create database trigger for Id existence
 */
        try{

            $this->checka($waarderen_van_leren_a);
            $this->checkb($waarderen_van_leren_b);
            $this->checkc($waarderen_van_leren_c);
            $this->checkd($waarderen_van_leren_d);
            $this->checke($waarderen_van_leren_e);
            

        }

        //catch exception
        catch(Exception $e)
        {
            $this->setError( $e->getMessage() );
            return FALSE;
        }
        
        $query = "INSERT INTO  `".DB_NAME."`.`".TBL_VERMOGEN_HANDELINGEN."` (".
                    "`".FIELD_WAARDEREN_VAN_LEREN_A."` ,".
                    "`".FIELD_WAARDEREN_VAN_LEREN_B."` ,".
                    "`".FIELD_WAARDEREN_VAN_LEREN_C."` ,".
                    "`".FIELD_WAARDEREN_VAN_LEREN_D."` ,".
                    "`".FIELD_WAARDEREN_VAN_LEREN_E."`".
                    ")".
                    "VALUES ('".
                    $this->dbInString($waarderen_van_leren_a). "', '".
                    $this->dbInString($waarderen_van_leren_b). "', '".
                    $this->dbInString($waarderen_van_leren_c). "', '".
                    $this->dbInString($waarderen_van_leren_d). "', '".
                    $this->dbInString($waarderen_van_leren_e). " '".
                    ")";
                
        /** Query **/
        $this->dbquery($query);

        if($this->checkDbErrors($query)){
            return FALSE;
        }
        
        /**  Update class vars **/
        $this->id = $this->dbGetInsertedId();
        
        /** Load class vars **/
        return ($this->selectById($this->id));
        
    }
    
    private function checkWaarderenVanLerenA($waarderen_van_leren_a){
        
        $this->checkText($waarderen_van_leren_a, LEN_HANDELINGEN);
    }
    
    private function checkWaarderenVanLerenB($waarderen_van_leren_b){
        
        $this->checkText($waarderen_van_leren_b, LEN_HANDELINGEN);
    }
    
    private function checkWaarderenVanLerenC($waarderen_van_leren_c){
        
        $this->checkText($waarderen_van_leren_c, LEN_HANDELINGEN);
    }
    
    private function checkWaarderenVanLerenD($waarderen_van_leren_d){
        
        $this->checkText($waarderen_van_leren_d, LEN_HANDELINGEN);
    }
    
    private function checkWaarderenVanLerenE($waarderen_van_leren_e){
        
        $this->checkText($waarderen_van_leren_e, LEN_HANDELINGEN);
    }


    private function selectById( $id ){
        
        if( $this->CheckId($id, FIELD_VERMOGEN_ID)){
            $query = "SELECT ".
                        "`".FIELD_WAARDEREN_VAN_LEREN_A."` ,".
                        "`".FIELD_WAARDEREN_VAN_LEREN_B."` ,".
                        "`".FIELD_WAARDEREN_VAN_LEREN_C."` ,".
                        "`".FIELD_WAARDEREN_VAN_LEREN_D."` ,".
                        "`".FIELD_WAARDEREN_VAN_LEREN_E."`".
                     " FROM  `".TBL_VERMOGEN_HANDELINGEN."`". 
                     " WHERE (`".FIELD_VERMOGEN_ID."` = ". $id .")";
            
            $this->dbQuery($query);
        
            if ( $this->checkDbErrors($query) ){
                return FALSE;
            }
                
            $row = $this->dbFetchArray();
            if ( $this->checkDbErrors($query) ){  
                return FALSE;
            }
            
            $this->waarderen_van_leren_a = $row[FIELD_WAARDEREN_VAN_LEREN_A];
            $this->waarderen_van_leren_b = $row[FIELD_WAARDEREN_VAN_LEREN_B];
            $this->waarderen_van_leren_c = $row[FIELD_WAARDEREN_VAN_LEREN_C];
            $this->waarderen_van_leren_d = $row[FIELD_WAARDEREN_VAN_LEREN_D];
            $this->waarderen_van_leren_e = $row[FIELD_WAARDEREN_VAN_LEREN_E];

            
            if ( strlen($this->id) < 1 ){
                $this->id = $id;
            }

            return TRUE;
        }
            
    }
    
    private function createTable(){
        
        $query = "CREATE TABLE IF NOT EXISTS `".TBL_VERMOGEN_HANDELINGEN."` (".
                  "`".FIELD_VERMOGEN_ID ."` ".FIELD_VERMOGEN_ID."(".LEN_HANDELINGEN_ID.") NOT NULL AUTO_INCREMENT,".
                  "`".FIELD_WAARDEREN_VAN_LEREN_A ."` varchar(".LEN_HANDELINGEN.") NOT NULL,".
                  "`".FIELD_WAARDEREN_VAN_LEREN_B ."` varchar(".LEN_HANDELINGEN.") NOT NULL,".
                  "`".FIELD_WAARDEREN_VAN_LEREN_C ."` varchar(".LEN_HANDELINGEN.") NOT NULL,".
                  "`".FIELD_WAARDEREN_VAN_LEREN_D ."` varchar(".LEN_HANDELINGEN.") NOT NULL,".
                  "`".FIELD_WAARDEREN_VAN_LEREN_E ."` varchar(".LEN_HANDELINGEN.") NOT NULL,".
                  "PRIMARY KEY (`".FIELD_VERMOGEN_ID."`),".
                  "UNIQUE KEY `".FIELD_VERMOGEN_ID."` (`".FIELD_VERMOGEN_ID."`)".
                ") DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";
        
        $this->dbQuery($query);
        
        return ( !$this->checkDbErrors($query) );
    }

}




?>


